

/*
-----------------------------------------------------------------------------
Filename:    PhysicsInterface.h
Description: This is an Abstract specification of generic Physics functions which
allows a Physics interface object to behave in a polymorphic fashion.  For example,
____ can have multiple different realizations based on the different
Physics engines being interfaced.  This allows the PhysicsInterface object to be
implemented by any module with little to no change in code.
-----------------------------------------------------------------------------
*/



class PhysicsInterface {
public:

	/*     Setting the function to zero in the prototype declares the
	 * function as a "pure virtual" function that is not defined by
	 * this class and therefore must be defined in the derived classes.
	 *
	 *     Because this is a purely virtual class, all PhysicsInterface
	 * instantiations must be of a specific child type.
	 */
	virtual bool initializeDynamics() = 0;
	virtual void setGravity( float gravity ) = 0;
};
